home *** CD-ROM | disk | FTP | other *** search
/ Programmer Plus 2007 / Programmer-Plus-2007.iso / Programming / SQL and Data Base / Logic Works ERwin 3.5 / data.1 / erwrenin.six < prev    next >
Encoding:
Text File  |  1998-01-28  |  1.7 KB  |  47 lines

  1. /* ------------------------------------------------------------------------
  2. --    ERWRENIN.SIX                                                          --
  3. --    Copyright (C) Logic Works, Inc. 1994                                 --
  4. --                                                                       --
  5. --  Stored function to insert relationship ends                          --
  6. --  into the Designer 2000 dictionary as                                  --
  7. ------------------------------------------------------------------------- */
  8. CREATE OR REPLACE FUNCTION ERWRENIN(pEntFrom    CI_ENTITIES.ID%TYPE,
  9.                              pName         CI_RELATIONSHIP_ENDS.NAME%TYPE,
  10.                              pMaxCard    CI_RELATIONSHIP_ENDS.MAXIMUM_CARDINALITY%TYPE,
  11.                              pMinCard     CI_RELATIONSHIP_ENDS.MINIMUM_CARDINALITY%TYPE,
  12.                              pOtherEnd     CI_RELATIONSHIP_ENDS.ID%TYPE)
  13.         RETURN CI_RELATIONSHIP_ENDS.ID%TYPE
  14.         AS
  15.         stRelend        ciorelationship_end.data;
  16.           act_status        varchar2(100);
  17.         act_warnings    varchar2(100);
  18. BEGIN
  19.         stRelend.v.FROM_ENTITY_REFERENCE := pEntFrom;
  20.         stRelend.i.FROM_ENTITY_REFERENCE := true;
  21.         stRelend.v.NAME := pName;
  22.         stRelend.i.NAME := true;
  23.         if pMaxCard = 0 THEN
  24.             stRelend.i.MAXIMUM_CARDINALITY := false;
  25.         else
  26.             stRelend.v.MAXIMUM_CARDINALITY := pMaxCard;
  27.             stRelend.i.MAXIMUM_CARDINALITY := true;
  28.         end if;
  29.         stRelend.v.MINIMUM_CARDINALITY := pMinCard;
  30.         stRelend.i.MINIMUM_CARDINALITY := true;
  31.         if pOtherEnd > 0 THEN
  32.             stRelend.v.OTHER_RELATIONSHIP_END_REF := pOtherEnd;
  33.             stRelend.i.OTHER_RELATIONSHIP_END_REF := true;
  34.         else
  35.             stRelend.i.OTHER_RELATIONSHIP_END_REF := false;
  36.         end if;
  37.         BEGIN
  38.             dbms_output.put_line('Inserting relationship end');
  39.             ciorelationship_end.ins(null,stRelend);
  40.             RETURN stRelend.v.ID;                     
  41.         EXCEPTION
  42.             WHEN OTHERS THEN
  43.                     RETURN -1;                        
  44.             END;
  45. END ERWRENIN;
  46. /
  47.